Scroll to navigation

ON_EXIT(3) Руководство программиста Linux ON_EXIT(3)

ИМЯ

on_exit - регистрирует функцию для вызова в случае нормального завершения процесса

ОБЗОР

#include <stdlib.h>

int on_exit(void (*function)(int , void *), void *arg);


Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

on_exit(): _BSD_SOURCE || _SVID_SOURCE

ОПИСАНИЕ

Функция on_exit() регистрирует указанную function для вызова в случае нормального завершения процесса с помощью exit(3) или при выходе из функции main(). Функции function передаётся аргумент состояния, указанный в последнем вызове exit(3), а также аргумент arg из on_exit().

Одна функция может быть зарегистрирована несколько раз: она вызывается один раз для каждой регистрации.

Когда дочерний процесс создаётся через fork(2), он наследует копии регистраций родителя. При успешном выполнении одной из функций exec(3) все регистрации снимаются.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функция on_exit() при успешном выполнении возвращает 0, в противном случае — ненулевое значение.

СООТВЕТСТВИЕ СТАНДАРТАМ

Данная функция появилась в SunOS 4, но она также присутствует в libc4, libc5 и glibc. Она отсутствует в Solaris (SunOS 5). Избегайте этой функции и используйте вместо неё стандартную atexit(3).

СМОТРИТЕ ТАКЖЕ

_exit(2), atexit(3), exit(3)

2008-12-05 GNU